package vue;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import modele.Utilisateur;

public class PopupConnexion extends JFrame implements ActionListener{
	
	private JButton valider;
	private JTextField pseudo;
	private JPasswordField mdp1, mdp2;
	private JLabel info;
	private FenetrePrincipale ihm;
	
	public PopupConnexion(FenetrePrincipale ihm) {
		this.ihm = ihm;
		setTitle("Se connecter");
		this.setLocation(ihm.getLocation());
		setSize(300, 200);
		
		JPanel panelGeneral = new JPanel(new GridLayout(4,1));
		
		JPanel panel = new JPanel(new GridLayout(1,2));
		panel.add(new JLabel("Pseudo :"));
		pseudo = new JTextField();
		panel.add(pseudo);
		panelGeneral.add(panel);
		
		panel = new JPanel(new GridLayout(1,2));
		panel.add(new JLabel("Mdp :"));
		mdp1 = new JPasswordField();
		panel.add(mdp1);
		panelGeneral.add(panel);
		
		//panel = new JPanel();
		valider = new JButton("Valider");
		valider.addActionListener(this);
		panelGeneral.add(valider);
		//panelGeneral.add(panel);
		
		info = new JLabel();
		panelGeneral.add(info);
		this.add(panelGeneral);
		
		setVisible(true);
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		if(e.getSource() == valider) {
			Utilisateur utilisateur = new Utilisateur(pseudo.getText(), mdp1.getText(), 0);
			if(ihm.getControleur().utilisateurExiste(utilisateur)) {
				info.setText("Connexion réussie.");
				ihm.majMenuConnexion(true, pseudo.getText().equals("admin"));
				if(!ihm.getControleur().getUtilisateurCourant().isAdmin()) {
					ihm.setPanelPronostique(new PanelPronostique(ihm,true));
					ihm.setPanelClassementPourStat(new PanelStats(ihm));
					System.out.println(ihm.getControleur().getUtilisateurCourant().getPseudo());
				}
				dispose();
				
			} else if(ihm.getControleur().pseudoExiste(pseudo.getText())){ //Si le pseudo existe, c'est qu'il a faux au mot de passe
				info.setText("Mot de passe incorrect");
			} else
				info.setText("Ce pseudo n'existe pas");

		}
	}
}
